Autogenerated HTML docs for v2.22.0-214-g8dca7 
diff --git a/RelNotes/2.23.0.txt b/RelNotes/2.23.0.txt index 53e8234..a6cd592 100644 --- a/RelNotes/2.23.0.txt +++ b/RelNotes/2.23.0.txt 
@@ -43,6 +43,9 @@  * "git help git" was hard to discover (well, at least for some  people).   + * The pattern "git diff/grep" use to extract funcname and words + boundary for Rust has been added. +    Performance, Internal Implementation, Development Support etc.   @@ -148,7 +151,33 @@  to honor the "--origin <name>" option.  (merge 1c4a9f9114 xl/record-partial-clone-origin later to maint).   + * "git fetch" into a lazy clone forgot to fetch base objects that are + necessary to complete delta in a thin packfile, which has been + corrected. + (merge 810e19322d jt/partial-clone-missing-ref-delta-base later to maint). + + * The filter_data used in the list-objects-filter (which manages a + lazily sparse clone repository) did not use the dynamic array API + correctly---'nr' is supposed to point at one past the last element + of the array in use. This has been corrected. + (merge 7140600e2e md/list-objects-filter-memfix later to maint). + + * The description about slashes in gitignore patterns (used to + indicate things like "anchored to this level only" and "only + matches directories") has been revamped. + (merge 1a58bad014 an/ignore-doc-update later to maint). + + * The URL decoding code has been updated to avoid going past the end + of the string while parsing %-<hex>-<hex> sequence. + (merge d37dc239a4 md/url-parse-harden later to maint). + + * The list of for-each like macros used by clang-format has been + updated. + (merge fc7e03aace mo/clang-format-for-each-update later to maint). +  * Other code cleanup, docfix, build fix, etc.  (merge f547101b26 es/git-debugger-doc later to maint).  (merge 7877ac3d7b js/bisect-helper-check-get-oid-return-value later to maint).  (merge 0108f47eb3 sw/git-p4-unshelve-branched-files later to maint). + (merge 9df8f734fd cm/send-email-document-req-modules later to maint). + (merge afc3bf6eb1 ab/hash-object-doc later to maint). 
diff --git a/git-hash-object.html b/git-hash-object.html index e518a66..2281101 100644 --- a/git-hash-object.html +++ b/git-hash-object.html 
@@ -762,9 +762,7 @@  with the contents of the named file (which can be outside of the   work tree), and optionally writes the resulting object into the   object database. Reports its object ID to its standard output.  -This is used by <em>git cvsimport</em> to update the index  -without modifying files in the work tree. When &lt;type&gt; is not  -specified, it defaults to "blob".</p></div>  +When &lt;type&gt; is not specified, it defaults to "blob".</p></div>   </div>   </div>   <div class="sect1">  @@ -855,7 +853,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2018-01-26 15:11:04 PST  + 2019-06-21 11:54:06 PDT   </div>   </div>   </body>  
diff --git a/git-hash-object.txt b/git-hash-object.txt index 814e744..df9e2c5 100644 --- a/git-hash-object.txt +++ b/git-hash-object.txt 
@@ -18,9 +18,7 @@  with the contents of the named file (which can be outside of the  work tree), and optionally writes the resulting object into the  object database. Reports its object ID to its standard output. -This is used by 'git cvsimport' to update the index -without modifying files in the work tree. When <type> is not -specified, it defaults to "blob". +When <type> is not specified, it defaults to "blob".    OPTIONS  ------- 
diff --git a/git-send-email.html b/git-send-email.html index 6f216b1..78c91f3 100644 --- a/git-send-email.html +++ b/git-send-email.html 
@@ -1603,8 +1603,11 @@  app-specific or your regular password as appropriate. If you have credential   helper configured (see <a href="git-credential.html">git-credential(1)</a>), the password will be saved in   the credential store so you won&#8217;t have to type it the next time.</p></div>  -<div class="paragraph"><p>Note: the following perl modules are required  - Net::SMTP::SSL, MIME::Base64 and Authen::SASL</p></div>  +<div class="paragraph"><p>Note: the following core Perl modules that may be installed with your  +distribution of Perl are required:  +MIME::Base64, MIME::QuotedPrint, Net::Domain and Net::SMTP.  +These additional Perl modules are also required:  +Authen::SASL and Mail::Address.</p></div>   </div>   </div>   </div>  @@ -1625,7 +1628,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-13 15:06:39 PDT  + 2019-06-21 11:54:06 PDT   </div>   </div>   </body>  
diff --git a/git-send-email.txt b/git-send-email.txt index a861934..d93e5d0 100644 --- a/git-send-email.txt +++ b/git-send-email.txt 
@@ -508,8 +508,12 @@  helper configured (see linkgit:git-credential[1]), the password will be saved in  the credential store so you won't have to type it the next time.   -Note: the following perl modules are required - Net::SMTP::SSL, MIME::Base64 and Authen::SASL +Note: the following core Perl modules that may be installed with your +distribution of Perl are required: +MIME::Base64, MIME::QuotedPrint, Net::Domain and Net::SMTP. +These additional Perl modules are also required: +Authen::SASL and Mail::Address. +    SEE ALSO  -------- 
diff --git a/gitattributes.html b/gitattributes.html index c3009cd..881f95f 100644 --- a/gitattributes.html +++ b/gitattributes.html 
@@ -1650,6 +1650,11 @@  </li>   <li>   <p>  +<code>rust</code> suitable for source code in the Rust language.  +</p>  +</li>  +<li>  +<p>   <code>tex</code> suitable for source code for LaTeX documents.   </p>   </li>  @@ -2154,7 +2159,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:21:34 PDT  + 2019-06-21 11:54:06 PDT   </div>   </div>   </body>  
diff --git a/gitattributes.txt b/gitattributes.txt index e387cc6..2796dfc 100644 --- a/gitattributes.txt +++ b/gitattributes.txt 
@@ -833,6 +833,8 @@    - `ruby` suitable for source code in the Ruby language.   +- `rust` suitable for source code in the Rust language. +  - `tex` suitable for source code for LaTeX documents.     
diff --git a/gitignore.html b/gitignore.html index 1780169..db1762a 100644 --- a/gitignore.html +++ b/gitignore.html 
@@ -869,37 +869,40 @@  </li>   <li>   <p>  -If the pattern ends with a slash, it is removed for the  - purpose of the following description, but it would only find  - a match with a directory. In other words, <code>foo/</code> will match a  - directory <code>foo</code> and paths underneath it, but will not match a  - regular file or a symbolic link <code>foo</code> (this is consistent  - with the way how pathspec works in general in Git).  +The slash <em>/</em> is used as the directory separator. Separators may  + occur at the beginning, middle or end of the <code>.gitignore</code> search pattern.   </p>   </li>   <li>   <p>  -If the pattern does not contain a slash <em>/</em>, Git treats it as  - a shell glob pattern and checks for a match against the  - pathname relative to the location of the <code>.gitignore</code> file  - (relative to the toplevel of the work tree if not from a  - <code>.gitignore</code> file).  +If there is a separator at the beginning or middle (or both) of the  + pattern, then the pattern is relative to the directory level of the  + particular <code>.gitignore</code> file itself. Otherwise the pattern may also  + match at any level below the <code>.gitignore</code> level.   </p>   </li>   <li>   <p>  -Otherwise, Git treats the pattern as a shell glob: "<code>*</code>" matches  - anything except "<code>/</code>", "<code>?</code>" matches any one character except "<code>/</code>"  - and "<code>[]</code>" matches one character in a selected range. See  - fnmatch(3) and the FNM_PATHNAME flag for a more detailed  - description.  +If there is a separator at the end of the pattern then the pattern  + will only match directories, otherwise the pattern can match both  + files and directories.   </p>   </li>   <li>   <p>  -A leading slash matches the beginning of the pathname.  - For example, "/&#42;.c" matches "cat-file.c" but not  - "mozilla-sha1/sha1.c".  +For example, a pattern <code>doc/frotz/</code> matches <code>doc/frotz</code> directory,  + but not <code>a/doc/frotz</code> directory; however <code>frotz/</code> matches <code>frotz</code>  + and <code>a/frotz</code> that is a directory (all paths are relative from  + the <code>.gitignore</code> file).  +</p>  +</li>  +<li>  +<p>  +An asterisk "<code>*</code>" matches anything except a slash.  + The character "<code>?</code>" matches any one character except "<code>/</code>".  + The range notation, e.g. <code>[a-zA-Z]</code>, can be used to match  + one of the characters in a range. See fnmatch(3) and the  + FNM_PATHNAME flag for a more detailed description.   </p>   </li>   </ul></div>  @@ -959,6 +962,42 @@  <div class="sect1">   <h2 id="_examples">EXAMPLES</h2>   <div class="sectionbody">  +<div class="ulist"><ul>  +<li>  +<p>  +The pattern <code>hello.*</code> matches any file or folder  + whose name begins with <code>hello</code>. If one wants to restrict  + this only to the directory and not in its subdirectories,  + one can prepend the pattern with a slash, i.e. <code>/hello.*</code>;  + the pattern now matches <code>hello.txt</code>, <code>hello.c</code> but not  + <code>a/hello.java</code>.  +</p>  +</li>  +<li>  +<p>  +The pattern <code>foo/</code> will match a directory <code>foo</code> and  + paths underneath it, but will not match a regular file  + or a symbolic link <code>foo</code> (this is consistent with the  + way how pathspec works in general in Git)  +</p>  +</li>  +<li>  +<p>  +The pattern <code>doc/frotz</code> and <code>/doc/frotz</code> have the same effect  + in any <code>.gitignore</code> file. In other words, a leading slash  + is not relevant if there is already a middle slash in  + the pattern.  +</p>  +</li>  +<li>  +<p>  +The pattern "foo/*", matches "foo/test.json"  + (a regular file), "foo/bar" (a directory), but it does not match  + "foo/bar/hello.c" (a regular file), as the asterisk in the  + pattern does not match "bar/hello.c" which has a slash in it.  +</p>  +</li>  +</ul></div>   <div class="listingblock">   <div class="content">   <pre><code> $ git status  @@ -1030,7 +1069,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-04-09 10:54:14 PDT  + 2019-06-21 11:54:06 PDT   </div>   </div>   </body>  
diff --git a/gitignore.txt b/gitignore.txt index b5bc9db..d47b1ae 100644 --- a/gitignore.txt +++ b/gitignore.txt 
@@ -89,28 +89,28 @@  Put a backslash ("`\`") in front of the first "`!`" for patterns  that begin with a literal "`!`", for example, "`\!important!.txt`".   - - If the pattern ends with a slash, it is removed for the - purpose of the following description, but it would only find - a match with a directory. In other words, `foo/` will match a - directory `foo` and paths underneath it, but will not match a - regular file or a symbolic link `foo` (this is consistent - with the way how pathspec works in general in Git). + - The slash '/' is used as the directory separator. Separators may + occur at the beginning, middle or end of the `.gitignore` search pattern.   - - If the pattern does not contain a slash '/', Git treats it as - a shell glob pattern and checks for a match against the - pathname relative to the location of the `.gitignore` file - (relative to the toplevel of the work tree if not from a - `.gitignore` file). + - If there is a separator at the beginning or middle (or both) of the + pattern, then the pattern is relative to the directory level of the + particular `.gitignore` file itself. Otherwise the pattern may also + match at any level below the `.gitignore` level.   - - Otherwise, Git treats the pattern as a shell glob: "`*`" matches - anything except "`/`", "`?`" matches any one character except "`/`" - and "`[]`" matches one character in a selected range. See - fnmatch(3) and the FNM_PATHNAME flag for a more detailed - description. + - If there is a separator at the end of the pattern then the pattern + will only match directories, otherwise the pattern can match both + files and directories.   - - A leading slash matches the beginning of the pathname. - For example, "/{asterisk}.c" matches "cat-file.c" but not - "mozilla-sha1/sha1.c". + - For example, a pattern `doc/frotz/` matches `doc/frotz` directory, + but not `a/doc/frotz` directory; however `frotz/` matches `frotz` + and `a/frotz` that is a directory (all paths are relative from + the `.gitignore` file). + + - An asterisk "`*`" matches anything except a slash. + The character "`?`" matches any one character except "`/`". + The range notation, e.g. `[a-zA-Z]`, can be used to match + one of the characters in a range. See fnmatch(3) and the + FNM_PATHNAME flag for a more detailed description.    Two consecutive asterisks ("`**`") in patterns matched against  full pathname may have special meaning: @@ -152,6 +152,28 @@  EXAMPLES  --------   + - The pattern `hello.*` matches any file or folder + whose name begins with `hello`. If one wants to restrict + this only to the directory and not in its subdirectories, + one can prepend the pattern with a slash, i.e. `/hello.*`; + the pattern now matches `hello.txt`, `hello.c` but not + `a/hello.java`. + + - The pattern `foo/` will match a directory `foo` and + paths underneath it, but will not match a regular file + or a symbolic link `foo` (this is consistent with the + way how pathspec works in general in Git) + + - The pattern `doc/frotz` and `/doc/frotz` have the same effect + in any `.gitignore` file. In other words, a leading slash + is not relevant if there is already a middle slash in + the pattern. + + - The pattern "foo/*", matches "foo/test.json" + (a regular file), "foo/bar" (a directory), but it does not match + "foo/bar/hello.c" (a regular file), as the asterisk in the + pattern does not match "bar/hello.c" which has a slash in it. +  --------------------------------------------------------------  $ git status  [...] 
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index bb99163..fa45a43 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html 
@@ -938,7 +938,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:24 PDT  + 2019-06-21 11:55:31 PDT   </div>   </div>   </body>  
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index a381f04..b6f9430 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html 
@@ -1435,7 +1435,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:24 PDT  + 2019-06-21 11:55:32 PDT   </div>   </div>   </body>  
diff --git a/howto/new-command.html b/howto/new-command.html index 5c0db59..919f607 100644 --- a/howto/new-command.html +++ b/howto/new-command.html 
@@ -863,7 +863,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:20 PDT  + 2019-06-21 11:55:25 PDT   </div>   </div>   </body>  
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index aeffc2f..2f1bb56 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html 
@@ -895,7 +895,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:24 PDT  + 2019-06-21 11:55:31 PDT   </div>   </div>   </body>  
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index d9f423e..16a7926 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html 
@@ -847,7 +847,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:24 PDT  + 2019-06-21 11:55:31 PDT   </div>   </div>   </body>  
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index dab4117..6811dd9 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html 
@@ -880,7 +880,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:23 PDT  + 2019-06-21 11:55:30 PDT   </div>   </div>   </body>  
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index c51e01a..ca7cdba 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html 
@@ -1189,7 +1189,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:24 PDT  + 2019-06-21 11:55:30 PDT   </div>   </div>   </body>  
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index 74067ad..2cbaf0f 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html 
@@ -1025,7 +1025,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:23 PDT  + 2019-06-21 11:55:29 PDT   </div>   </div>   </body>  
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index 46efd36..ac803ae 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html 
@@ -907,7 +907,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:21 PDT  + 2019-06-21 11:55:25 PDT   </div>   </div>   </body>  
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 1f20f91..e02ea2c 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html 
@@ -841,7 +841,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:23 PDT  + 2019-06-21 11:55:29 PDT   </div>   </div>   </body>  
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index fbaa1c8..1a7a30d 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html 
@@ -1071,7 +1071,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:22 PDT  + 2019-06-21 11:55:28 PDT   </div>   </div>   </body>  
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index c8ccf3f..cbd74b1 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html 
@@ -930,7 +930,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:22 PDT  + 2019-06-21 11:55:27 PDT   </div>   </div>   </body>  
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 96f28d9..748f696 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html 
@@ -791,7 +791,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:22 PDT  + 2019-06-21 11:55:27 PDT   </div>   </div>   </body>  
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index e5dee1a..37a5d70 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html 
@@ -848,7 +848,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:21 PDT  + 2019-06-21 11:55:26 PDT   </div>   </div>   </body>  
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index 4d5b5f2..aa2572b 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html 
@@ -952,7 +952,7 @@  <div id="footer">   <div id="footer-text">   Last updated  - 2019-06-17 20:22:21 PDT  + 2019-06-21 11:55:26 PDT   </div>   </div>   </body>